US Defence Secretary Donald Rumsfeld has acknowledged that security in Iraq has not improved statistically since Saddam Hussein's fall in 2003.
Some retired civil servants were waiting to collect their pensions
Mr Rumsfeld told the BBC insurgents crossed Iraq's "porous" borders from Iran, Syria and elsewhere.
But he said Iraq's military forces were growing in numbers and he was confident the insurgency would be defeated.
On Tuesday, at least 22 people were killed in a suicide bombing in the northern Iraqi city of Kirkuk.
Police say most of the dead were civil servants lining up outside a government-owned bank to get their salaries or pensions.
They believe the bomber walked up to the queue with up to 30kg (66lbs) of explosives hidden under his clothes.
Among the 50 people wounded were 10 children, who had small stalls on the side of the road.
More than 900 people, mostly Iraqis, have died in insurgent attacks across the country since the government of Prime Minister Ibrahim Jafaari took office six weeks ago.
The latest violence came as Mr Jaafari's 37-member cabinet and its programme secured a vote of confidence in the Iraqi National Assembly.
The Shia-dominated government, which was finalised on 8 May, was overwhelmingly approved by a show of hands in the 275-member transitional parliament.
Belief in the future
In an interview for the BBC's Newsnight programme, Mr Rumsfeld said Iraq had passed several milestones, like holding elections and appointing a government.
But asked if the security situation had improved, he admitted: "Statistically, no."
"But clearly it has been getting better as we've gone along," he added.
"A lot of bad things that could have happened have not happened."
He said that efforts had shifted from counter-insurgency to helping the Iraqi security forces.
"The important thing... is to recognise that this insurgency is going to be defeated not by the coalition - it's going to be defeated by the Iraqi people and by the Iraqi security forces, and that it's going to happen as the Iraq people begin to believe they've got a future in that country," he said.
He added that Syria was not doing enough to stop the insurgency and that Iran was meddling in Iraqi politics.
Tuesday's explosion took place near a bridge over the road, and people were killed both on the bridge and on the ground, the Associated Press news agency reported.
Kirkuk, 290km (180miles) north of Baghdad, is an ethnically mixed city wanted by the Kurds as the capital of their autonomous region in the north. It houses communities of Kurds, Arabs and Turkmen vying for control.
Correspondents say the city, a major oil-producing centre, has been the focus of intense ethnic rivalry since Saddam Hussein's fall from power.